package org.cainiao.api.lark.dto.response.authenticateandauthorize.getaccesstokens;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * <br />
 * <p>
 * Author: Cai Niao(wdhlzd@163.com)<br />
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class LarkTokenInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = -5674807916254312120L;

    /**
     * 字段access_token即user_access_token，用于获取用户资源和访问某些open api
     */
    private String accessToken;

    /**
     * 刷新 user_access_token时使用的 refresh_token
     */
    private String refreshToken;

    /**
     * token 类型，固定值
     */
    private String tokenType;

    /**
     * user_access_token有效期，单位: 秒，有效时间两个小时左右，需要以返回结果为准
     */
    private Integer expiresIn;

    /**
     * refresh_token有效期，单位: 秒，一般是30天左右，需要以返回结果为准
     */
    private Integer refreshExpiresIn;

    /**
     * 用户授予app的权限全集
     */
    private String scope;
}
